#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<vector>
using namespace std;
int a[100],cnt[100],n,dp[100];
int main()
{
    memset(dp,0x3f,sizeof(dp));
    cin>>n;int k;
    for(int i=1;i<=n;i++)
    cin>>a[i]>>cnt[i];
    cin>>k;dp[0]=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=k;j>=0;j--)
        {
            for(int p=0;p<=cnt[i];p++)
            {
                if(j-a[i]*p<0) break;
                dp[j]=min(dp[j],dp[j-a[i]*p]+p); 
            }
        }
    }
    cout<<dp[k];
}